home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / c / mc302emb.zip / READ.ME < prev    next >
Text File  |  1994-03-18  |  7KB  |  153 lines

  1. NOTE: This archive contains a subdirectory (LIBCF). If you can see any *.LIB
  2. or *.ASM files in the main directory, the archive was not unpacked correctly,
  3. and you should delete everything and unpack it again in a mode which creates
  4. subdirectories (With PKUNZIP, use the '-d' option). Alternatively, copy the
  5. *.LIB and *.ASM into a subdirectory called 'LIBCF', and remove them from the
  6. main directory.
  7.  
  8.                *** MICRO-C Embedded Controller Test-drive ***
  9.  
  10. This archive contains a demonstration "MICRO-C "Developers Kit", which
  11. contains everything you need to write and debug 'C' and Assembly language
  12. code for an imaginary microprocessor that I've dubbed the C-FLEA. This
  13. processor is designed with a minimal instruction set which provides basic
  14. functions necessary for code generation by the compiler.
  15.  
  16. This archive should enable you to get a good understanding of how MICRO-C
  17. and its companion programs are used in embedded development. You can write,
  18. compile, execute and debug programs, just as if you were developing for a
  19. real embedded control system.
  20.  
  21. Before you begin, you must set the environment variable 'MCDIR' to point to
  22. the directory where the software is installed. Consult the file MICROC.DOC
  23. for details on setting up and using the compiler. After you have compiled your
  24. program (See CCF command), you can run it using the included C-FLEA simulator
  25. (see EMCF.DOC).
  26.  
  27. Here are the steps required to compile and run the WALK.C demo program
  28. included in the archive:
  29.  
  30.     SET MCDIR=C:\MC     (Use directory where you installed software)
  31.     CCF WALK
  32.     EMCF WALK.HEX
  33.     (Once simulator comes up, type 'G' to start execution)
  34.  
  35. The C-FLEA virtual machine is somewhat unusual to program at the assembly
  36. language level, however if you are interested in trying out the ASMCF cross
  37. assembler (Or INLINE assembly code in your 'C' programs), see the ASMCF.DOC
  38. file for details on using the assembler. A brief description of the C-FLEA
  39. instruction set can be found in the file CFLEA.DOC. You can also look at the
  40. *.ASM files in the LIBCF subdirectory for examples of assembly programming.
  41.  
  42. NOTE: The ".C" example source files use TAB stops at 4 character intervals.
  43. If you type them out, or load them under an editor other than EDT (supplied),
  44. these files may appear incorrectly formatted. The ".ASM" files use TAB stops
  45. at 8 character intervals. To view these files with EDT, use the command '8h'
  46. from within the editor.
  47.  
  48. If you cannot configure your editor to properly display the files, execute
  49. the command "REMTAB".  This will remove all TAB characters from the ".C",
  50. ".H" and ".ASM" files, and replace them with the correct number of spaces
  51. to retain formatting.
  52.  
  53. *** The following files should be present in this archive:
  54.  
  55.     READ.ME     - This file
  56.     CATALOG     - DDS Product Catalog
  57.     MICROC.DOC  - MICRO-C Compiler Documentation
  58.     CINTRO.DOC  - Introduction to 'C' document
  59.     ASMCF.DOC   - Cross assembler documentation
  60.     EMCF.DOC    - Simulator documentation
  61.     TFB.DOC     - TSR file browser documentation
  62.     CFLEA.DOC   - C-FLEA virtual processor documentation
  63.     CCF.COM     - Compile Command
  64.     MCP.COM     - MICRO-C pre-processor
  65.     MCCCF.COM   - MICRO-C compiler for C-FLEA
  66.     MCOCF.COM   - MICRO-C optimizer for C-FLEA
  67.     SLINK.COM   - Source Linker
  68.     ASMCF.COM   - C-FLEA cross assembler
  69.     EMCF.COM    - C-FLEA simulator
  70.     EDT.EXE     - General purpose text editor (Documented in MICROC.DOC)
  71.     TFB.COM     - TSR file browser
  72.     REMTAB.COM  - Removes TABS from example source files
  73.     LIBCF\*.*   - C-FLEA startup code and run time library
  74.     CFLEA.H     - General I/O definition file
  75.     *.C         - Example programs
  76.  
  77. *** Caveats, notes and limitations of the demo system:
  78.  
  79. The demonstration tools have the following artificially imposed limits
  80. (to discourage misuse):
  81.  
  82.     C Compiler:  500 source lines, 100 concurrent symbol definitions.
  83.     Assembler : 3000 source lines, 5000 bytes of symbol table space.
  84.     Simulator : No hardware interface, Port option, or serial redirection.
  85.  
  86. The C-FLEA virtual processor has no simple method of dealing with signed
  87. 8 bit quantities. Therefore, 'char' variables and expressions are always
  88. calculated as positive quantities. The "unsigned" modifier only controls
  89. how the compiler views that positive value (ie: 'char' = signed value in
  90. the range of 0-255,  'unsigned char' = unsigned value in the range of 0-
  91. 255).   This affects how the compiler promotes other objects involved in
  92. an expression. For example:
  93.  
  94.     int a = -1;   char b = 255;   unsigned char c = 255;
  95.  
  96.     (a < b) == TRUE     (signed comparison:     -1 < 255    )
  97.     (a < c) == FALSE    (unsigned comparison:   65535 > 255 )
  98.  
  99. Since the C-FLEA does not have a "carry flag", more work has to be done
  100. to perform the multi-precision shift/add/subtract  operations which are
  101. used heavily by the LONGMATH function.   This causes these functions to
  102. be somewhat slower than on most "real" microprocessors.
  103.  
  104. The following Developers Kit utilities and documentation have not been
  105. included in the DEMO archive:
  106.  
  107.     INTxx.H     - Macro(s) for defining interrupt handlers *
  108.     REGxx.H     - Internal "function" register definitions *
  109.     MONxx       - Resident Monitor/Debugger **
  110.     LAPTALK     - Communication software (For communication with MONxx)
  111.  * The C-FLEA has no interrupt capability or special function registers.
  112. ** MONxx functionality is provided by the included C-FLEA simulator.
  113.    Standard developers kits do NOT include a simulator.
  114.  
  115. The following utilities have not been included in the DEMO archive, but
  116. are described in the documentation:
  117.  
  118.     SLIB        - Source librarian
  119.     SINDEX      - Source library indexer
  120.     SCONVERT    - Source library convertor
  121.     SRENUM      - Source library renumberer
  122.     MAKE        - Automated build utility
  123.     TOUCH       - Utility used with MAKE
  124.     MACRO       - Assembly macro processor
  125.     HEXFMT      - Hex file manipulation utility
  126.  
  127. *** Use and Distribution License conditions:
  128.  
  129. All material in this archive is the Copyrighted property of Dave Dunfield,
  130. and All rights to it are reserved.
  131.  
  132. Permission is granted to use this software and documentation for educational
  133. and evaluation purposes only.  You may use the compiler and/or assembler ONLY
  134. to generate code to be executed by the included EMCF simulator, any other use
  135. of the software is prohibited.
  136.  
  137. Permission is granted to copy and distribute this archive via electronic
  138. "Bulletin Board Systems" (BBS), and disk copying services, subject to the
  139. following restrictions:
  140.  
  141. - The archive must be presented in its original form, without modification.
  142.  
  143. - The archive may not be distributed as part of or in assocation with any
  144.   other product.
  145.  
  146. - Only one version of this archive may be offered at any given time, IE: if
  147.   you post a new version of one of my shareware products, any older versions
  148.   of that product, which were previously available must be removed and no
  149.   longer offered for distribution.
  150.  
  151. - I reserve the right to request of anyone distributing this archive that
  152.   they upgrade to the current release (which I will provide).
  153.